package ventanas;

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.List;

import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

import bean.TipoSerie;
import recursos.MIFMantenimiento;
import recursos.Sesion;

public class IFTipoSerie extends MIFMantenimiento {
	private static final long serialVersionUID = 1L;

	public IFTipoSerie() {
		lblBBuscar.setText("Alias");
		lblDBuscar.setText("Alias");
		txtBBuscar.setSize(98, 20);
		cboBActivo.setSize(57, 20);
		cboBActivo.setLocation(347, 38);
		lblBTipo.setLocation(88, 1);
		cboBTipo.setLocation(110, -2);
		lblBSituacion.setLocation(347, 23);
		txtBDescripcion.setSize(103, 20);
		scpBusqueda.setSize(395, 201);
		scpBusqueda.setLocation(10, 65);
		lblBNombre.setLocation(10, 22);
		txtBCodigo.setLocation(88, -2);
		txtBCodigo.setVisible(false);
		lblBCodigo.setVisible(false);
		lblBCodigo.setLocation(78, 0);
		lblBTipo.setVisible(false);
		cboBTipo.setVisible(false);
		cboDTipo.setVisible(false);
		lblDTipo.setVisible(false);
		lblBNombre.setText("Serie");
		lblDNombre.setText("Serie");
		txtBNombre.setBounds(10, 38, 63, 20);
		txtBDescripcion.setLocation(78, 38);
		txtBBuscar.setLocation(185, 38);
		txtBOrden.setLocation(286, 38);
		lblBOrden.setLocation(286, 22);
		lblBBuscar.setLocation(185, 22);
		lblBDescripcion.setLocation(78, 22);
		setTitle(getTitle() + "-" + Sesion.tfiMantenimientoTipoSerie);
		registrarCabecera();
		activaControles();
		limpiarTabla();
		
		tbBusqueda.addKeyListener(new KeyAdapter() {
			@Override
			public void keyReleased(KeyEvent e) {
				pintar();
			}

		});

		tbBusqueda.addMouseListener(new MouseAdapter() {
			@Override
			public void mouseReleased(MouseEvent e) {
				pintar();
			}

		});
		
	}

	@Override
	public void limpiarTabla() {
		tbBusqueda.setModel(dtm = new DefaultTableModel(datos, cabecera));
		ocultarColumna();
		setResultadoBusqueda(tbBusqueda.getRowCount());
		TableColumn colNombre = tbBusqueda.getColumn(1);
		TableColumn colBuscar = tbBusqueda.getColumn(3);
		TableColumn colDescripcion = tbBusqueda.getColumn(2);
		TableColumn colOrden = tbBusqueda.getColumn(4);
		TableColumn colSit = tbBusqueda.getColumn(5);

		colNombre.setPreferredWidth(50);
		colBuscar.setPreferredWidth(90);
		colDescripcion.setPreferredWidth(150);
		colOrden.setPreferredWidth(50);
		colSit.setPreferredWidth(40);
		
	}
	
	private void ocultarColumna(){
		tbBusqueda.getColumnModel().getColumn(0).setMaxWidth(0);
		tbBusqueda.getColumnModel().getColumn(0).setMinWidth(0);
		tbBusqueda.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
		tbBusqueda.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
	}
	

	public void cargarTabla(List<TipoSerie> listado) {
		limpiarTabla();
		for (TipoSerie obj : listado) {
			Object datos[] = { obj.getId(),obj.getSerie(),obj.getDescripcion(),obj.getBuscar(),obj.getOrden(),obj.getSitu()};
			dtm.addRow(datos);
		}
		setResultadoBusqueda(tbBusqueda.getRowCount());
	}
	
	public void cargarTabla(TipoSerie obj) {
		limpiarTabla();
		Object datos[] = { obj.getId(),obj.getSerie(),obj.getDescripcion(),obj.getBuscar(),obj.getOrden(),obj.getSitu()};
		dtm.addRow(datos);
		setResultadoBusqueda(tbBusqueda.getRowCount());
	}

	@Override
	public void registrarCabecera() {
		cabecera = new String[6];
		cabecera[0] = "Id";
		cabecera[1] = "Serie";
		cabecera[2] = "Descripcion";
		cabecera[3] = "Alias";
		cabecera[4] = "Orden";
		cabecera[5] = "Sit.";

	}
	
	private void pintar() {
		if (tbBusqueda.getSelectedRow() > -1) {
			String id = tbBusqueda.getValueAt(tbBusqueda.getSelectedRow(), 0)
					.toString();
			String nombre = tbBusqueda.getValueAt(tbBusqueda.getSelectedRow(),
					1).toString();
			String buscar = tbBusqueda.getValueAt(tbBusqueda.getSelectedRow(),
					3).toString();
			String descripcion = tbBusqueda.getValueAt(tbBusqueda.getSelectedRow(),
					2).toString();
			String orden = tbBusqueda
					.getValueAt(tbBusqueda.getSelectedRow(), 4).toString();
			String activo = tbBusqueda
					.getValueAt(tbBusqueda.getSelectedRow(), 5).toString()
					.trim();
			setId(id);
			setDNombre(nombre);
			setDBuscar(buscar);
			setDDescripcion(descripcion);
			setDOrden(orden);
			if (activo.equals("01")) {
				setDActivo(true);
			} else {
				setDActivo(false);
			}
		}
	}
}
